There exist data communication applications in which there is a need to have a database interfaced to differing user accessing (e.g. computer) systems to allow such different systems to access that database and receive data therefrom. There also exist data communication applications in which there is a need to control data intake and communications costs so that receivers of data need not receive data that they do not need. The present invention fulfills these needs.
Data communications between different systems requires some standardization so that different systems can communicate with each other. One widely known and cited such standard is the International Standards Organization (ISO) Open Systems Interconnection (OSI) model or protocol, described in ISO Standard 7498 "Information Processing Systems--Open Systems Interconnection--Basic Reference Manual". This model involves a seven-layered hierarchy, with the highest-numbered layer reflecting the data actually seen by the user, the lowest-numbered layer reflecting the data as actually communicated, and intermediate layers reflecting different stages of processing, from the source (transferor or holder) down to the communications link and then back up to the destination (user or requester). In this model, layer 1 is the physical layer, layer 2 is the data link layer, layer 3 is the network layer, layer 4 is the transport layer, layer 5 is the session layer, layer 6 is the presentation layer and layer 7 is the application layer. The ISO OSI standard is further described in U.S. Pat. No. 4,831,620 issued May 16, 1989 to Conway et al. at column 3, line 22 through column 4, line 53; at column 1, line 43 through column 2, line 64 of U.S. Pat. No. 5,163,055 issued Nov. 10, 1992 to Lee et al.; at FIG. 2 and column 14, line 65 through column 16, line 51 of U.S. Pat. No. 4,853,875 issued Aug. 1, 1989 to Brown; and in T. W. Madron, Local Area Networks: The Next Generation, 2nd Ed. (John Wiley & Sons, New York, 1990) at pages 24-40. The Conway et al. patent, the Brown patent and the Madron book are hereby incorporated by reference herein. The ISO OSI Standard is also described in A. S. Tannanbaum, Computer Networks (Prentice Hall, 1981).
As stated at column 1, line 43 through column 2, line 64 of the Lee et al. patent, data communications, or computer communications, is the process of communicating information in a form suitable for processing by computers and peripheral devices that may be connected to those computers. Communications hardware is reasonably standard and generally presents few problems. However, when communication is desired among heterogeneous machines, i.e. machines made by different vendors or different models of machines made by the same vendor, the software development effort becomes increasingly difficult. Different vendors use different data formats and data exchange conventions. Even within one vendor's product line, different model computers may communicate in unique ways.
To facilitate computer communications and computer networking, computer vendors needed to adopt and implement a common set of conventions. However, in order to develop adequate standards, there needs to be a structure or architecture that defines the communication tasks. A formal hierarchial identification of all data communications network functions has been established by the International Standards Organizations ("ISO") and referred to as the ISO model for Open Systems Interconnection ("OSI"). This model identifies seven (7) distinct levels, or layers, of functional requirements pertaining to a data communications network. Each layer (i) performs a related subset of the functions required to communicate with another system; (ii) relies on the next lower layer to perform more primitive functions and to the details of those functions; and (iii) provides services for the next higher layer.
The OSI layers consist of (1) the physical layer which governs the physical interface between devices and the rules by which bits are passed from one to another; (2) the data link layer which attempts to make the physical link reliable, i.e. error-free, and provides the means to activate, maintain and deactivate the link; (3) the network layer which is responsible for establishing, maintaining, and terminating connections across an intervening communications facility; (4) the transport layer which insures that data units are delivered error-free, in sequence and without losses or duplications; (5) the session layer which provides means for two application processes to establish and use a connection, called a session; (6) the presentation layer which resolves differences in the syntax (representation) of the data exchanged between application entities and provides for the selection and subsequent modification of the syntax to be used; and (7) the application layer which contains management functions and other useful mechanisms to support distributed applications.
The OSI layers are defined so that changes in one layer do not require changes in the other layers. Communication is achieved by having corresponding or "peer" entities in the same layer in two different systems communicate via a protocol. A protocol is a set of rules governing a time sequence of events that take place between peer entities; that is, between equipment or layers on the same level.
The most common way in which protocols are realized is with the use of a header. When an application X has data to send to another application Y, it transfers those data to an application entity in the application layer. A header is appended to the data that contains the required information for the peer layer 7 protocol. The original data, plus the header, is now passed as a unit to layer 6. The presentation entity treats the whole unit as data, and appends its own header. This process continues down through layer 2, which generally adds both a header and a trailer. This layer 2 unit, called a frame, is then passed by the physical layer onto the transmission medium. When the frame is received by the target system, the reverse process occurs. As the data ascends, each layer strips off the outermost header, acts on the protocol information contained therein, and passes the remainder up to the next layer.
In general, the reliability of a data communications system may be directly traced to the functional effectiveness of the data link layer protocol being used. Because data is usually sent in blocks (frames), the beginning and end of each block (frame) must be clearly identifiable. Further, the sending station must not send frames at a rate faster than the receiving station can absorb them. Additionally, the bit errors introduced by the transmission system must be corrected. Also, the receiver must be able to distinguish control information from the data being transmitted.
Particularly but not exclusively with regard to weather databases, there is a need to address quality control. Quality control of transmitted weather and other imagery data has historically been imprecise because no positive method existed which could determine that what was received was exactly what was transmitted. Following the occurrence of an incident in which weather played a factor, principals involved responsible for avoiding such incidents may have claimed that data required for them to fulfill their responsibility was either missing, incomplete, or in error. Because no mechanism exists to provide traceability along the delivery chain of the weather data, each party transferring such data bears a liability for its accurate communication. Accordingly, there is a need for a mechanism to assure that the weather product received by such a transferor, and the weather product transmitted to and received by a customer of that transferor, are identical, in order to shield the transferor from liability for quality of the transmitted product. The present invention also fulfills these needs.
Previous radar dissemination systems required solicitation of data from different physical sources, and only allowed the acceptance of one product. In order to tell whether there is any relevant weather at the site, a complete product had to be received and interpreted by the user.
The Weather Surveillance Radar--1988 Doppler (WSR-88D) is described in Federal Meteorological Handbook No. 11 Doppler Radar Meteorological Observations: Part A Systems Concepts, Responsibilities, and Procedures, FCM-H11A-1991 (Interim Version One) (Washington, D.C., June 1991) produced by the Office of the Federal Coordinator for Meteorological Services and Supporting Research, National Oceanic and Atmospheric Administration, U.S. Department of Commerce. The development and deployment of the WSR-88D radar in the early 1990's had a profound impact on the accessibility of and physical size of weather radar imagery. Prior to the deployment of the WSR-88D radar, only one product, reflectivity, was available to the general public. This reflectivity product ranged in size from about 8500 bytes in a compressed format to around to 32,000 bytes as a raw raster image. The WSR-88D radar provides 19 distinct radar products to the general public. As described in Handbook No. 11, supra, these nineteen products are Reflectivity Tilt 1, Reflectivity Tilt 2, Reflectivity Tilt 3, Reflectivity Tilt 4, Composite Reflectivity, Echo Tops, Vertically Integrated Liquid, Surface Rainfall Accumulation 1 hour total, Surface Rainfall Accumulation 3 hour total, Storm Total Rainfall Accumulation, Hourly Digital Precipitation, Mean Radial Velocity Tilt 1, Mean Radial Velocity Tilt 2, Mean Radial Velocity Tilt 3, Mean Radial Velocity Tilt 4, Velocity Azimuth Display, Layer Composite Reflectivity Layer 1, Layer Composite Reflectivity layer 2, and Layer Composite Reflectivity Layer 3. These 19 products can each range in size from about 2,000 bytes to over 50,000 bytes depending on the severity of the weather. Also, the National Weather Service uses numerous (presently over 150) WSR-88D radars, at different sites scattered across the U.S.A. Each such site thus generates each of the 19 radar products. Accurate weather forecasting necessitates rapid accessibility of all this data. However, not all of this data will always be useful to a weather forecaster.
The 19 distinct WSR-88D radar products can each range in size from about 2,000 bytes to over 50,000 bytes as a function of the severity of the weather. Multiplied by the many WSR-88D sites presently operating or planned or under construction, the weather forecaster is thus presented with a substantial number of present and future available products. Not all of these products will be useful at any one given time. In order to keep communications costs down, a user of this data needs to avoid transmission to it (particularly at its expense) of weather products that are not useful to that user. Such users also need to verify the end-to-end integrity of the product transmission, for example to avoid having noise or distortion prevent the user from identifying a potential tornado in Kansas. Since weather patterns can change and move relatively rapidly, and accurate weather forecasting can have a very substantial monetary as well as practical value, there is a critical need for accuracy of received weather data. The present invention fulfills these needs.
Furthermore, where, such as with weather data, the data is being provided by a transferor, and there is a strong need for the data to be accurate, it is necessary for the recipient of the data to verify its integrity. It is also necessary for the transferor to both verify the integrity of the transmitted data, and confirm that the recipient has verified the accuracy or integrity of the data. The present invention also fulfills these needs.